namespace Warehouse

open FSharp.Windows
open System.Collections.ObjectModel

[<AbstractClass>]
type ProductSearchModel() = 
    inherit Model()

    let mutable appFilter : ProductModel -> bool = fun _ -> true
    member this.AppFilter with get() = appFilter and set value = appFilter <- value

    abstract Filter : string with get, set
    abstract IsSearchInProgress : bool with get, set
    abstract Products : ProductModel ObservableCollection with get, set
    abstract SelectedProduct : ProductModel with get, set
